TOSTRING(
#version 330 core \n
#pragma optimize(on) \n

#define ATTR_POSITION	0 \n
#define ATTR_TEXCOORD	2 \n
#define ATTR_COLOR		1 \n

layout(location = ATTR_POSITION)	in vec3 inPosition;
layout(location = ATTR_TEXCOORD)	in vec2 inTexcoord;
layout(location = ATTR_COLOR)		in vec4 inColor;

uniform struct Transform {
	mat4	MVP;
} unTransform;


out	TVertexData {
	vec4	vColor;
	vec2	vTexcoord;
} Output;


out gl_PerVertex {
	vec4	gl_Position;
};


void main()
{
	gl_Position		 	= unTransform.MVP * vec4(inPosition, 1.0);
	Output.vColor		= inColor;
	Output.vTexcoord	= inTexcoord;
}
)